账号/权限体系规划
TODO:
- 删除部门需要涉及哪些变动?
代码
- gm_admin
- 重构 MySQL 的引擎部分
- 增加一个用户 superman
- 增加一个 app,对应前端的新工程。根据登录用户的不同选择不同的前端工程(原来 gm admin 对应的前端工程 和 勇哥新写的工程)
- gm_accout
- 新建工程
- 实验功能
- 使用 JSON Schema 验证接口参数
- 自动生成文档
-
gm_management gm_service
-
删除 department 相关的代码,将 role 和 user id 关联起来
数据库
xnn_core_product
auth_permission
ALTER TABLE `tbl_permission` ADD `type`
TINYINT(1) NULL DEFAULT '0' # breaking change,需要默认值
COMMENT '1: read; 2: write; 3: exeute';
auth_permission_classify
删除 django_content_type 和 auth_permission_classify 这两张表(可以晚点再删除),把他们的数据放到这里。
CREATE TABLE `tbl_permission_class` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`level` tinyint(1) unsigned NOT NULL COMMENT '1 or 2',
`name` varchar(11) NOT NULL,
`parent_id` int(11) unsigned DEFAULT NULL COMMENT 'parent_id==NULL if and only if level==1',
PRIMARY KEY (`id`)
) CHARSET=utf8mb4;
auth_department
废弃此表
auth_role
废弃 department_id 字段,
ALTER TABLE `auth_role` ADD `user_id`
TINYINT(1) NULL # breaking change,需要默认值
auth_role_user
CREATE TABLE `auth_role_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL,
`role_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) CHARSET=utf8mb4;
删除一些不用的权限
详见权限整理V1.0.1.xlsx
management
改动同 xnn_core_product。 特别的,MA 没有需要删除的权限。
接口
移动的接口
这些接口只是从一个工程移动到另一个工程,接口代码和 api 没有变动
- gm_service
- 将「网站管理」和「运营管理」这两个 tabs 的接口移动到 gm admin
- 「网站管理」
- 「运营管理」
- 将右上角的「用户管理」对应的接口移动到 gm admin
- s
- 「城市管理员管理」
- 「station 管理员管理」
- 其他用户
- 「部门管理」废弃
- 「角色权限管理」
- 「员工账号管理」
- 对应的 urls:
^admin/ (website/gadmin)
^partner-site/ (website/partner_site)
- 文档补齐
- gm_management
- 将右上角的「账号管理」对应的接口移动到 gm admin
- 加盟商
- 加盟商管理员
- 对应的 urls:
^admin/ (website/gadmin)
新增的接口
gm_admin
/admin/partner/permissions 加盟商管理,按照权限查看
method GET
request
level_1 int O 一级权限的id,不传代表全部一级权限
level_2 int O 二级,同上
name string O 要搜索的权限名,不传代表全部
response
{
data: [ // permision list, all fields below is M
{
name:
level_1:
level_2:
partner_num:
partners: [ // role list. max length is 10
{
id:
name:
}
]
}
],
msg: 'OK',
code: 0,
}
/admin/partner/permission 加盟商管理,特定权限的所有加盟商
method GET
request
permission_id M int
response
{
data: [
id:加盟商 id M
name: 加盟商名字 M
]
}
method POST
request
permission_id M int
partner_ids M list of int
response
{msg: 'OK', code: 0}
/admin/station/permissions 加盟商管理,按照权限查看加盟商
/admin/station/permission 加盟商管理,按照权限查看加盟商
gm_accout
/admin/role/permissions 角色管理,按照权限查看角色
/admin/role/permission 角色管理,按照权限查看角色
删除的接口
gm_service: ^xadmin